package cadastro;

import java.util.Collection;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import comum.ObjetoGeral;

@MappedSuperclass
public abstract class Pessoa extends ObjetoGeral {

	@Column(nullable = false)
	private String nome;
	
	@Column(nullable = true)
	private String cpf;
	
	@Column(nullable=false)@Temporal(TemporalType.DATE)
	private Date dataNascimento;

	private Endereco endereco;

	
	@ElementCollection
	private Collection<String> telefones;

	private String email;

    
	
	//Contrutores
	
	public Pessoa(String nome, String cpf, Date dataNascimento,
			Endereco endereco, Collection<String> telefones, String email) {
		this.nome = nome;
		this.cpf = cpf;
		this.dataNascimento = dataNascimento;
		this.endereco = endereco;
		this.telefones = telefones;
		this.email = email;
	}

	public Pessoa() {
		
	}



	//Gets e Sets
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public Collection<String> getTelefones() {
		return telefones;
	}

	public void setTelefones(Collection<String> telefones) {
		this.telefones = telefones;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	
	
}
